<?php
// ------------------------------------------------------------------------
// |@Author       : Jarmin <edshop@qq.com>
// |@----------------------------------------------------------------------
// |@Date         : 2023-07-04 15:23:04
// |@----------------------------------------------------------------------
// |@LastEditTime : 2023-07-04 15:24:59
// |@----------------------------------------------------------------------
// |@LastEditors  : Jarmin <jarmin@ladmin.cn>
// |@----------------------------------------------------------------------
// |@Description  : 
// |@----------------------------------------------------------------------
// |@FilePath     : Login.php
// |@----------------------------------------------------------------------
// |@Copyright (c) 2023 http://www.ladmin.cn   All rights reserved. 
// ------------------------------------------------------------------------
namespace app\login\controller;

use think\admin\Controller;

/**
 * 登陆控制器,用于实现登陆相关控制器操作
 */
class Login extends Controller
{
    /**
     * 用户登录
     * @validate true
     * @return void
     */
    public function login()
    {
        $result = $this->logicLogin->login($this->app->request->param());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 版本信息
     * @return void
     */
    public function getVer()
    {
        $result = $this->logicLogin->getVer();
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 获取用户权限菜单信息
     * @return void
     */
    public function getMenus()
    {
        // 从请求头部获取 token
        $token = $this->app->request->header('token');
        // 判断 token 是否过期，过期则给出提示并返回空对象
        if (!$token) return $this->error(LOGIN_ERROR, lang('validate.token_expired'));
        // 调用模型层获取用户菜单和所属角色权限信息
        $result = $this->logicLogin->getMenus($token);
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }
}